/*
 * L'application ZenContact en Grails a été écrite par Nicolas Martignole,
 * elle est mise à disposition selon les termes de la licence
 *
 * Creative Commons Paternité-Pas d'Utilisation Commerciale-Partage des Conditions Initiales à l'Identique 2.0 France.
 * 
 * Basé(e) sur une oeuvre http://www.touilleur-express.fr/2009/12/20/grails-lapplication-zencontact-de-zenika/
 *
 * Les autorisations au-delà du champ de cette licence peuvent être obtenues à http://touilleur-express.fr/.
 * Voir http://creativecommons.org/licenses/by-nc-sa/2.0/fr/
 *
 * Copyright(c) Nicolas Martignole 2010.
 *
 */
/* Taglib that returns the current time
 * @author Nicolas Martignole
 */
class ToolsTagLib {
  // Usng scriptaculous from main2.gsp
  def showDateAndTime = {
    
    def timerLink = createLink(controller:'timer', action:'getTime')
  
    out << "<script type='text/javascript'>"
    out << "new Ajax.PeriodicalUpdater('timerDiv', '$timerLink' , "
    out << "{method: 'get',frequency: 1,decay: 1});"
    out << "</script>"
    out << "<div id='timerDiv'>Heure courante...</div>"
  }

  def showDateAndTime2 = {
  out << "test"
  }

  def editInPlace = {attrs, body ->
    def id = attrs.remove('id')
    def initialVal = attrs.remove('initialValue')

    out << "<span id='${id}' class='editInline'>"
    out << initialVal
    out << "</span>"

    out << "<script type='text/javascript'>"
    out << "new Ajax.InPlaceEditor('${id}', '"

    // id has alread been removed from attrs map
    out << createLink(action: attrs.action, id: id, controller: attrs.controller)

    out << "',{"

    if (attrs.paramName) {
      out << "callback: function(form,value) { return '${attrs.paramName}=' + encodeURIComponent(value) }  "
    }
    out << "}); "
    out << "</script>"
  }
}
